package engine.motionDetection.modelisation;

/**
 * Class of CoordLabel which save coordinates and label of an object
 * @author HINB
 *
 */
public class CoordLabel 
{
	
	private static final long serialVersionUID = 1;

	/* *********************************************************
	 * Attributes
	 * ******************************************************** */	
	/**
	 * Minimal value on the x-axis of the rectangle representing the object
	 */
	private int _xMin;
	
	/**
	 * Maximal value on the x-axis of the rectangle representing the object
	 */
	private int _xMax;
	
	/**
	 * Minimal value on the y-axis of the rectangle representing the object
	 */
	private int _yMin;
	
	/**
	 * Maximal value on the y-axis of the rectangle representing the object
	 */
	private int _yMax;
	
	/**
	 * Label of the object
	 */
	private int _label;
	
	
	/* *********************************************************
	 * Constructor(s)
	 * ********************************************************* */
	/**
	 * create a CoordLabel and initialize parameters to 0
	 */
	public  CoordLabel()
	{
		_xMin = 0;
		_xMax = 0;
		_yMin = 0;
		_xMin = 0;	
		_label = 0;
	}
	
	/**
	 * create a CoordLabel with specified parameters
	 * @param label label of the object
	 * @param xMin value of xMin
	 * @param xMax value of xMax
	 * @param yMin value of yMin
	 * @param yMax value of yMax
	 */
	public  CoordLabel(int label, int xMin, int xMax, int yMin, int yMax)
	{		
		_xMin = xMin;
		_xMax = xMax;
		_yMin = yMin;
		_xMin = xMin;	
		_label = label;
	}
	
	
	/* *********************************************************
	 * Instance Methods
	 * *********************************************************
	 */
	/**
	 * Set the value of minimal x of the object
	 * @param xMin value of xMin 
	 */
	public void setXMin(int xMin)
	{
		_xMin = xMin;	
	}
	
	
	/**
	 * Set the value of maximal x of the object
	 * @param xMax value of xMax 
	 */
	public void setXMax(int xMax)
	{
		_xMax = xMax;	
	}
	
	
	/**
	 * Set the value of minimal y of the object
	 * @param yMin value of yMin 
	 */
	public void setYMin(int yMin)
	{
		_yMin = yMin;	
	}
	
	
	/**
	 * Set the value of maximal y of the object
	 * @param yMax value of yMax 
	 */
	public void setYMax(int yMax)
	{
		_yMax = yMax;	
	}
	
	
	/**
	 * Set the value of label of the object
	 * @param label value of label 
	 */
	public void setLabel(int label)
	{
		_label = label;	
	}
	
	
	/**
	 * Get the value of minimal x of the object
	 * @return the value of xMin 
	 */
	public int getXMin()
	{
		return _xMin;	
	}
	
	
	/**
	 * Get the value of maximal x of the object
	 * @return the value of xMax 
	 */
	public int getXMax()
	{
		return _xMax;	
	}
	
	
	/**
	 * Get the value of minimal y of the object
	 * @return the value of yMin 
	 */
	public int getYMin()
	{
		return _yMin;	
	}
	
	
	/**
	 * Get the value of maximal y of the object
	 * @return the value of yMax 
	 */
	public int getYMax()
	{
		return _yMax;	
	}
	
	
	/**
	 * Get the value of label of the object
	 * @return the value of the label of the object
	 */
	public int getLabel()
	{
		return _label;	
	}
}
